This disclosure relates to tracing processing activity.
There are a number of occasions where it is desirable to keep track of the processing activities being performed by a processing element such as a central processing unit (CPU). For example, such information is useful during the development of data processing apparatus. An example of a tool that may be used to assist in such a process is a tracing tool.
Tracing the activity of a processing element whereby a trace stream is generated that includes data representing the step-by-step activity within the system is a highly useful tool in system development. Such tracing tools use a variety of means for tracing the program flow including embedded trace macrocells (ETM, a trademark of ARM Limited, Cambridge) which are present on the chip whose processing is being monitored.
These tracing tools can be used to reconstruct the state of a machine at a certain point during execution of the instruction stream and in order to do this may require knowledge of data transfers to registers if the contents of the registers are to be reconstructed or may require knowledge of data transfers to particular addresses if the memory state is to be reconstructed.
Some processing elements can perform processing activities in two or more security modes so as to inhibit a processing activity performed in one of the security modes from accessing at least some information associated with a processing activity performed in another of the security modes. A temporary change in security mode may be required as part of the operational activity of the processing element, for example to call a function or subroutine in one security mode from code running in another security mode.